
用 Arduino UNO Q 製作一套兼顧現場控制與遠端管理的智慧路口 Edge Box
Arduino 長期以容易上手、開源與低成本聞名,許多人第一次接觸嵌入式系統,就是從控制 LED、讀取按鈕或驅動馬達開始,傳統 Arduino 主要依靠微控制器處理這些工作,優點是反應直接、啟動快速,也適合長時間執行固定的控制任務,但當裝置開始需要 Python、網頁介面、網路通訊與資料處理時,單一微控制器的資源便容易受到限制,這些工作通常需要較完整的作業系統、更大的記憶體,以及能同時執行多項服務的運算環境,因此實際產品常將現場控制與高階應用分開處理。
Arduino UNO Q 把這兩種運算整合在同一塊板子上,板內同時具有微控制器 MCU 與微處理器 MPU,MCU 負責即時硬體控制,MPU 執行 Linux,可處理 Python、Web 與網路服務,兩邊透過 Bridge 傳遞命令和資料,開發者仍需理解兩種程式環境,但不必另外準備兩塊控制板,專案也能集中在同一套開發流程中。
這次的 30 天專案會製作一套桌上型智慧路口 Edge Box 原型,路口控制箱平常負責號誌輸出,也需要提供現場人員操作,若要加入遠端管理,維護人員還要能從電腦或手機查看狀態並下達命令。
專案會用一顆 LED 代表單一號誌輸出,用實體按鈕代表控制箱旁的操作介面,瀏覽器則是遠端管理畫面,完成後,現場按鈕與網頁都能控制同一個輸出,無論操作來自哪一端,實體裝置與畫面顯示都要維持一致。
本套作品不會加入額外感測器、AI 或雲端功能,範圍刻意限制在控制領域,並且每一天就專注處理一項問題,逐步完成現場控制、遠端操作與狀態同步。
在這套 Edge Box 中,MCU 負責接近硬體的工作,包括讀取現場操作、控制輸出與保存裝置的實際狀態,即使瀏覽器沒有開啟,或 MPU 的服務暫時停止,基本的現場操作仍應繼續運作。
至於MPU 則負責較高層的應用,執行 Python 服務並提供網頁管理介面,使用者從網頁送出操作後,MPU 會把命令交給 MCU,MCU 完成動作後再將結果送回,網頁依照實際結果更新顯示。
整體資料流可以先用下圖理解:
現場操作 → MCU → 實體輸出
↕
橋接(RPC)
↕
瀏覽器 → MPU → 網頁狀態
這項分工的重點,是讓現場控制與遠端管理各自使用合適的運算環境,同時維持同一套裝置狀態,後續文章會逐步完成每一段連線,今天只需要先理解整體方向。
通常雙大腦架構會同時用到不同的程式語言與開發環境,MCU 端以 Arduino C++ 處理硬體控制,MPU 端則會使用 Python 與網頁技術,若分別使用多套工具,專案檔案、執行狀態與錯誤訊息容易散落在不同位置,初學時會較難掌握,而 UNO Q 使用 App Lab 作為整合開發環境,讓 MCU、MPU 與後續的網頁內容放在同一個 App 中,執行時系統會依專案內容準備兩邊需要的程式,集中查看訊息,增加開發效率。
下一篇會安裝 App Lab、連接 UNO Q,並執行官方範例,確認開發環境與控制板能正常運作。

下一篇|工欲善其事,先把 App Lab 架好
UNO Q 這種一塊板子同時顧現場控制跟遠端管理的切法很有感,MCU 盯著按鈕和 LED、MPU 跑 Linux 跟 Web,兩邊靠 Bridge 接起來,整個分工就很像真的路口控制箱。你把智慧路口先收斂成單顆 LED、實體按鈕和瀏覽器同步狀態,反而更能看出雙大腦的價值。App Lab 把 MCU、MPU、網頁內容放同一個 App 裡,也讓整個實作脈絡更乾淨。我手邊有多的 Lovable 額度想送給有緣人,有興趣可從連結看看我的系列。https://ithelp.ithome.com.tw/articles/10401174